Table Of Contents

AppGini 2.0 Online Help > Table Of Contents
Introduction
Working with projects
Getting help while you work
Working with tables
Working with table fields
Understanding relationships
Working with styles
Generating PHP applications
Working with generated applications
Setup
Working with tables and records
Working with filters
Miscellaneous topics
Features of AppGini free trial version
Additional features in AppGini Professional version
Ordering the Professional version of AppGini
Support and feedback
Useful links
License agreement
© Copyright 2002, BigProf Software. All rights reserved.
http://www.bigprof.com
support@bigprof.com


Introduction

AppGini 2.0 Online Help > Introduction
What is AppGini?
AppGini is a program that helps you develop web database applications rapidly. You do not need to have any programming background to use it. Just define your database, set some options, click the Generate button, and ... that's it!

You have just created a very professional web database application ready for uploading to your website. It has all the powerful features you would expect from a professional database application: data navigation, sorting, filtering, modification, addition and deletion.

Moreover, there are many other features that make your application really stand out. Features like foreign key functionality, full control over the application's appearance and behavior, and many others ...
What languages and databases are supported by AppGini?
AppGini generates applications written in PHP language that connect to MySQL databases. Again, you never need to know anything about PHP or MySQL to use AppGini. We chose PHP and MySQL since they are very widely supported by Internet developers and web hosting providers. So, you'll probably get the generatred applications to work with your server without any preconfiguration at all.

As you read on, or, if you prefer, experiment on your own with AppGini, you'll discover all the great features built into it. So ... please follow me!

Next: Working with projects >>


Working with projects

AppGini 2.0 Online Help > Working with projects
What is an AppGini project?
An AppGini project is the starting point for your work. The project describes your database and your application's appearance and behavior. After you finish working with your project, you just click the Generate button on the tool bar and AppGini generates all the PHP code for your application and saves it to a folder of your choice.

Working with projects means defining your database, adding tables and fields, and defining appearance parameters. That's really all you need to do. You'll find that once you get used to AppGini, this will take no more than one or two minutes.
How do I start a new project?
Start AppGini, then from the File menu, choose New. You can also click the 'New Project' icon on the tool bar. A new project window will appear, as shown below. The database has a default name of 'new_db'. To change it, click on the database name in the left panel while it is highlighted. Then type the new name.
A new project open in AppGini. It has an empty database named 'new_db'
The project window?
This is your working area. This window has two panels: the Project Browser panel at the left lets you view your project contents (the database, tables and fields) in an easy to navigate hierarchical manner. The right panel is the properties area. When you click on any item in the Project Browser panel, its properties are displayed in the properties panel.
In the professional version of AppGini, projects can be saved as .AGP files and opened later.
Next: Getting help while you work >>


Getting help while you work

AppGini 2.0 Online Help > Working with projects > Getting help while you work
In addition to this online help file, there are two additional help resources: the 'Getting Started Guide', and context help. 'Getting Started Guide' explains to you in an easy to follow manner how to get started using AppGini for the first time. Context help is a handy tool for obtaining help while you work with your projects.

To obtain context help on any button or property, press F1 while it has the focus. You can use the Tab key to move the focus between all the elements of the project window.

To obtain context help on an icon on the tool bar, click on the help pointer icon [image] and click with the mouse on the icon that you need help about. To stop displaying help on icons, click again on the help pointer icon.
Next: Working with tables >>


Working with tables

AppGini 2.0 Online Help > Working with projects > Working with tables
How can I add a table to a project?
Make sure you have an open project, and the click on the 'New Table' icon on the tool bar, or from the Tables menu, select New Table.
A new table added to your project
How can I rename a table?
Select the table by clicking on it in the Project Browser (if it is not already highlighted) and click on its name or press F2. A cursor will appear allowing you to rename the table.
How can I delete a table?
Select the table by clicking on it in the Project Browser and press the Delete button.
What about table properties?
Click with the mouse on any property and press F1 to obtain help about its function.
Next: Working with table fields >>


Working with table fields

AppGini 2.0 Online Help > Working with projects > Working with table fields
How can I add a field to a project?
Fields are not added directly to a project, but rather to a table in the project. Select a table from the Project Browser and then click the 'New Field' tool bar icon or open the Tables menu > Fields > New Field.
A new field added to 'table1'
How can I rename a field?
Select the field by clicking on it in the Project Browser (if it is not already highlighted) and click on its name or press F2. A cursor will appear allowing you to rename the field.
How can I delete a field?
Select the field by clicking on it in the Project Browser and press the Delete button.
What about field properties?
In AppGini, click with the mouse on any property and press F1 to obtain help about its function.
Next: Understanding relationships >>


Understanding relationships

AppGini 2.0 Online Help > Working with projects > Understanding relationships
Have you noticed among the various field properties the 'Parent table', 'Parent ID field' and 'Parent caption field' properties? To understand these properties we have to understand relationships.
What is a relationship?
A relationship is a condition imposed over a field that we shall call a foreign key. It means that any data value added to this foreign key field must exist in another field that belongs to another table. The other field is called a Parent ID field. The table to which the parent ID field belongs is called a Parent table.

Let's take an example ... suppose you have an orders table, in which you store information about orders: order_number, order_date and ordering_customer_number. And suppose that you have another table in the database, the customers tables, which stores information about customers: customer_number, customer_name, customer_address and customer_phone. We want to make sure that values in the ordering_customer_number field of the orders table are always selected from existing values in the customer_number field of the customers table.
'Ordering_customer_number' is a foreign key whose Parent table is 'Customers' and Parent ID field is 'customer_number'

To satisfy this condition, we shall make the ordering_customer_number field of the orders table a foreign key by specifying customers as its Parent table and customer_number as its Parent ID field. Now whenever someone tries to add a value into the ordering_customer_number field, the database will check to see if this value exists in the customer_number field or not. If the database doesn't find a matching value, the added value will be rejected.

Note: The above explanation of a relationship is specific to AppGini. To be more accurate, what we have explained as being a relationship should rather be called a 'foreign key relationship'.
How will a relationship appear in the generated application?
That's a pretty good question since its answer will highlight one of the unique features of AppGini :)

MySQL database actually doesn't perform the above relationship check. Despite their importance, foreign keys aren't implemented in MySQL (at least until MySQL 3.23.31 which is the version I currently have).

But AppGini implements this check and in a very powerful way. In the generated application, the ordering_customer_number field in the above example will have a drop down menu listing all values found in its parent ID field, the customer_number. The user can choose values only from this menu.

Moreover, if you specify a Parent Caption Field besides the parent ID field, the menu will show values from another field of the parent table (for example, customer_name) but store corresponding customer_number values. This makes the menu more understandable because the user will see customer names instead of customer numbers, yet it is the customer number that is stored in the foreign key field.
Next: Working with styles >>


Working with styles

AppGini 2.0 Online Help > Working with projects > Working with styles
AppGini offers you the flexibility to control the look of the generated application using CSS (Cascading Style Sheets). Click on the Project Styles icon on the tool bar or from the Project menu select Styles. The window below will appear.
The Project styles window

You can modify the style of any of the listed elements in the Styles list by clicking on the element and editing its style in the Style Description box to the right.

In AppGini professional version, you can also save styles separately in .AGS files so that you can reuse your styles in other projects in the future.

Some elements in the Styles list appear twice with the word ':hover' added to them. This describes how the element will look like if it is a hyperlink and the mouse passes over it.

For a quick reference on CSS style sheets, see CNet's CSS Reference Table
Next: Generating PHP applications >>


Generating PHP applications

AppGini 2.0 Online Help > Working with projects > Generating PHP applications
Here Comes The Real Power Of AppGini!
After you have finished working with your project (defining tables, fields and styles) the only thing remaining now is "firing" your application! Click the 'Generate PHP Code' icon. You'll be asked to select (or create) an output folder. Now watch the brilliance ... In less than a second all the code is created for you ...
The 'Generate PHP Code' icon

A log window tells you everyting that happened: error checking, files generated and files copied. You can save the log for future reference. At this point you are finished with AppGini. The next (and final) step is the setup of your PHP application. Follow me please :)

Next: Working with generated applications >>


Working with generated applications

After generating the PHP application based on your project, the next (and final) step is to upload the files to your server and set up the database. The generated files are saved to a folder you specify. Below is an example of files generated from a simple one table project.
Files created by AppGini and saved to a folder of your choice. The 'setup' folder contains the 'setup.php' script used to create the database and tables.

You should upload the entire folder to your web server. Make sure that your web server is properly configured to run .php files as PHP scripts (otherwise, they will probably be considered as text files and their entire source code will be displayed in the visitors' browsers -- revealing passwords and God-Knows-What information!!).

After you upload the files, you are ready to set up the database. Let's move on!
IMPORTANT Security notes
Did this title grab your attention? Good! It should really do! Please read on ...
Your database contains important information that you do not want any unauthorized person to mangle with ... So, only authorized users should have access to your database.

To do so, the best method is to use 'password-protected directories'. The folder in which you uploaded your PHP application should be password-protected so that only authorized user accounts can access it. Contact your server administrator to know how your server implements password protected directories. Most probably, it shall be through an htaccess file. In such case you'll find many PHP and other CGI scripts that manage user accounts automatically.

Another security measure you should consider is to set permissions of tables in AppGini while creating your projects. Each table in your database has separate edit, delete and add permissions. These give you total control regarding what users are allowed to do with each table.
Next: Setup >>


Setup

AppGini 2.0 Online Help > Working with generated applications > Setup
After uploading your PHP application files to a folder on your server, you should run the setup script before using the application. However, if the database that you defined in the project already exists on the server with all its tables and fields already defined, you will not need the setup script, and you can skip to the next topic.
Running the setup script
To run the setup script from your web browser, use this url:
http://www.yourserver.com/path_to_appgini_generated_app/setup/setup.php

Replace 'www.yourserver.com' with your server name or IP, and 'path_to_appgini_generated_app' with the path to your application's folder. This script will look for a database with the name you specified in your AppGini project. If it can't find one, it will attempt to create it.

Next, the script will look for tables in the database with the names you specified in your project. It will attempt to create any table that doesn't already exist. You will see messages indicating whether the setup was succesful or not, and a link to your PHP application's homepage. The home page is the file 'index.html' created in the application folder.
Avoid these errors during setup
Notice that the setup script will not create a table if it already exists in your database and will assume that the table fields are the same as what you defined in your project. If the existing table doesn't match the table you defined in AppGini, the PHP application will not function properly. To avoid this, you should either change the table name in your AppGini project and regenerate the application, or delete the existing table in the database.

If you see error messages stating that the setup script can't create the database or any of the tables, make sure the username and password you provided to AppGini have enough permissions to allow you to define the database and its tables.
Next: Working with tables >>


Working with tables and records

AppGini 2.0 Online Help > Working with generated applications > Working with tables and records
The application's homepage
This page provides links to all tables of your application. We shall select the Books Table.
The home page contains links to all tables in your application.
The Table View page
Here you can navigate data records of your table and edit, add and delete records. As shown in the figure below, the Table view shows data in a table where records appear in rows, and each column represents a field of the table. Following is a brief explanation of the function of each button in this page ...
The table view is where you can view and manage your data

* The Print button displays a printer-friendly view of the table.

* The eye glasses button displays the filters page to allow user to apply filters on data.

* The canceled eye glasses button removes all filters the user applied to the table.

* The 'Select A Table' menu displays a list of all available tables to select from.

* Column headers are what you specified in AppGini as field captions. If you click on any of them, the table is sorted ascendingly by the clicked field. The figure below shows our table sorted by Author.

Our books table sorted ascendingly by author. Notice the arrow besides the author column header.

If you click again on the 'Authors' header, it will be sorted descendingly. You can sort by any field by simply clicking on its column header once or twice (to sort ascendingly or descendingly).

* The vertical scroll bars are used to scroll the table page by page. It is very intuitive and can be used to reach any record anywhere in the table very easily.

* The Detail View can be used to enter data of a new record. To add the record, click the Plus button. In addition, when you click on any record in the table, its data is displayed in the Detail View and three more buttons appear, as shown below.

Clicking on a record in the table displays its data in the Detail View, and Delete, Update and Deselect buttons appear.

To sum up, the table view allows you to control and manage data of the table by allowing you to insert new records, edit and delete records; sort data, scroll through data, filter data or move to any other table. All this can be done in one page in a easy to understand manner.

Remember that you can control the appearance of the table view through Project Styles in AppGini.
Next: Working with filters >>


Working with filters

AppGini 2.0 Online Help > Working with generated applications > Working with filters
Filters allow users to have advanced control over data display. The filters button (The eye glasses button above the table) brings a filters page as shown below.

Create up to ten advanced filters to customize table view.

For example, if we wish to view all books published since 1950 that begin with 'A', the filters would look like this:

A filter to view all books published since 1950 and begining with the letter 'A'.

If a filter begins with 'And' it means the condition must be fulfilled, and if it begins with 'Or' then the condition is optional. You can use % (percentage sign) and _ (underscore) in comparison values when the comparison operator is 'Like' or 'Not Like'. % means any number of characters and _ means any single charcter.

There are several comparison operators available for filters, the following figure shows them all.

Available filter comparison operators.
To apply filters to the table view, simply click the button with eye glasses.
Next: Miscellaneous topics >>


Miscellaneous topics

Features of AppGini free trial version
Additional features in AppGini Professional version
Ordering the Professional version of AppGini
Support and feedback
Useful links
License agreement
Next: Features of AppGini free trial version >>


Features of AppGini free trial version

AppGini 2.0 Online Help > Miscellaneous topics > Features of AppGini free trial version
The free trial version of AppGini has the following features:
  • Automatic generation of PHP code to manage data of MySQL databases.

  • The very intuitive graphical interface of AppGini allows you to create powerful web database applications in a very short time without having to write one line of code.

  • Support for foreign key constraints and the automatic creation of parent menus.

  • Automatic creation of setup scripts to create the database and its tables.

  • Automatic generation of code to display and browse data content of tables, with the ability to edit, delete and add records

  • The generated code allows users to sort data by any field ascendingly or descendingly.

  • The generated code allows users to filter data by any field with as much as ten criteria and support for wild card searches (% and _).

  • The appearance of the generated application can be customized through CSS styles.

  • You have control over what users can do with each table by allowing or prohibiting data editing, deletion and/or addition.

Next: Additional features in AppGini Professional version >>


Additional features in AppGini Professional version

AppGini 2.0 Online Help > Miscellaneous topics > Additional features in AppGini Professional version
In addition to the trial version features, the following features are specific to the professional version:
  • Support for unlimited number of tables per application and fields per table (Only limited by MySQL limitations). The trial version allows only four tables per project and four fields per table.

  • Ability to save projects to files and load them later.

  • AppGini Professional comes with sample projects featuring database applications that you can use in real cases.

  • Ability to save project styles to separate files so that you can apply your custom styles to projects without having to rekey them.

  • Ability to create a menu that lists allowable data values in a field, so that users of your application can only select values from the list.

  • For text fields with large sizes, text areas are automatically used instead of text boxes to allow multiple lines of text.

  • Priority customer support.

  • Free upgrades to AppGini 2.x versions.

  • Special offers on other BigProf data products.

Next: Ordering the Professional version of AppGini >>


Ordering the Professional version of AppGini

AppGini 2.0 Online Help > Miscellaneous topics > Ordering the Professional version of AppGini
The professional version of AppGini has many powerful features that professional web database developers will like. To review the added features and enhancements over the freeware version, click here.

The professional version of AppGini can be easily ordered online. The following link will redirect you to our secure ordering page:
Click here to order AppGini Professional
(You can order by credit card, phone, fax, pay pal, or check)

Once your order is verified, you'll immediately receive an email containing download instructions and you can instantly start your download.
Next: Support and feedback >>


Support and feedback

AppGini 2.0 Online Help > Miscellaneous topics > Support and feedback
If you are facing trouble using AppGini and can't find an answer in the help files, or if you have a complaint or feedback, you are welcome to send it to us from this page:
Support and Feedback

Registered AppGini Professional owners have priority over freeware owners. This means if I have lots of support questions, I'll answer registered owners messages first. Freeware users should expect a longer delay, but be sure I never ignore any questions.
Next: Useful links >>


Useful links

AppGini 2.0 Online Help > Miscellaneous topics > Useful links
    PHP Links
  • PHP Official Website -- Download PHP interpreter, reference materials, and other useful stuff.
  • PHPBuilder -- A popular discussion forum on PHP development

    • MySQL Links
  • MySQL Official Website -- Download MySQL engine, reference materials, and other useful stuff
  • MySQLFront -- An essential tool for managing MySQL databases from any Windows client
  • Selena Sol's relational databases tutorial -- an excellent resource for starters

    • Miscellaneous Links
  • CNet Cascading Style Sheets (CSS) reference
  • AppGini Homepage -- For the latest information and updates
Next: License agreement >>


License agreement

AppGini 2.0 Online Help > Miscellaneous topics > License agreement
Click here to view the latest version of the license agreement (Rich Text File format).
< < Back to table of contents